#pragma once

class WMobs: public IWorldMod, public ISingleton<WMobs>
{
public:
	WMobs();
	virtual ~WMobs();

	/*-IWorldMod----------------------------------------------------------------*/
	void OnLevelLoad(const std::string& level);
	void OnLevelUnload();
	void OnLevelCalc();

	/*--------------------------------------------------------------------------*/

	std::list<IMob*>& GetMobs();

	void SpawnNewMob();
	void KillAll();

	unsigned int GetMobCount() const;
	unsigned int GetMaxMobCount() const;
	void SetMaxMobCount(unsigned int i);

private:
	std::list<IMob*> m_mobs;
	unsigned int m_maxMobCount;

	Sound** m_zombie;
};
